package cn.yqx.bankshop.result;

public enum ResultCode {


    SUCCESS("00000","SUCCESS"),
    /* 默认失败 */
    COMMON_FAIL("99999", "失败"),
    TOKEN_CLIENT_ERROR("T0001","client_id或client_secret错误"),
    TOKEN_USERINFO_ERROR("T0002","账号或者密码错误"),
    TOKEN_INVALID_ERROR("T0003" , "认证失败,无效或过期token") ,
    TOKEN_NO_BRING("T0004" , "认证失败,没有携带token"),
    TOKEN_INSUFFICIENT_AUTHORITY("T0005","权限不足"),
    ACCESS_UNAUTHORIZED("A0301", "访问未授权"),
    HTTP_ERROR_NO_TOKEN("H0001","没有携带Token"),
    USER_ERROR("A0001","用户端错误"),
    USER_LOGIN_ERROR("A0200","用户登录异常"),

    USER_NOT_EXIST("A0201","用户不存在"),
    USER_ACCOUNT_LOCKED("A0202","用户账户被冻结"),
    USER_ACCOUNT_INVALID("A0203","用户账户已作废"),
    USER_ACCOUNT_DISABLE("A0204", "账号不可用"),
    USERNAME_OR_PASSWORD_ERROR("A0210","用户名或密码错误"),
    USER_CREDENTIALS_EXPIRED("A0213","密码过期"),
    INPUT_PASSWORD_EXCEED_LIMIT("A0211","用户输入密码次数超限"),
    CLIENT_AUTHENTICATION_FAILED("A0212","客户端认证失败"), // *
    TOKEN_INVALID_OR_EXPIRED("A0230","token无效或已过期"),

    USER_AUTHORIZED_ERROR ("A0300","访问权限异常"),
    USER_ACCESS_UNAUTHORIZED ("A0301","访问未授权"),
    DATA_ALREADY_EXISTS ("A03002","记录已经存在") ,

    USER_REQUEST_PARAM_ERROR("A0400","用户请求参数错误"),
    USER_REQUEST_PARAM_IS_BLANK("A0410","请求必填参数为空"),

    USER_UPLOAD_FILE_ERROR("A0700","用户上传文件异常"),
    USER_UPLOAD_FILE_TYPE_NOT_MATCH("A0701","用户上传文件类型不匹配"),
    USER_UPLOAD_FILE_SIZE_EXCEEDS("A0702","用户上传文件太大"),
    USER_UPLOAD_IMAGE_SIZE_EXCEEDS("A0703","用户上传图片太大"),

    SYSTEM_EXECUTION_ERROR("B0001","系统执行出错"),
    SYSTEM_EXECUTION_TIMEOUT("B0100","系统执行超时"),
    SYSTEM_ORDER_PROCESSING_TIMEOUT("B0100","系统订单处理超时"),
    SYSTEM_DISASTER_RECOVERY_TRIGGER("B0200","系统容灾功能被出发"),
    SYSTEM_LIMITING("B0210","系统限流"),
    SYSTEM_FUNCTION_DEGRADATION("B0220","系统功能降级"),

    SYSTEM_RESOURCE_ERROR("B0300","系统资源异常"),
    SYSTEM_RESOURCE_EXHAUSTION("B0310","系统资源耗尽"),
    SYSTEM_RESOURCE_ACCESS_ERROR("B0320","系统资源访问异常"),
    SYSTEM_READ_DISK_FILE_ERROR("B0321","系统读取磁盘文件失败"),
    VALIDATE_CODE_ERROR("B0100","验证码错误"),
    VALIDATE_CODE_EXPIRE_EXCEPTION("B0101","验证码已经过期"),
    CALL_THIRD_PARTY_SERVICE_ERROR("C0001","调用第三方服务出错"),
    MIDDLEWARE_SERVICE_ERROR("C0100","中间件服务出错"),
    INTERFACE_NOT_EXIST("C0113","接口不存在"),

    MESSAGE_SERVICE_ERROR("C0120","消息服务出错"),
    MESSAGE_DELIVERY_ERROR("C0121","消息投递出错"),
    MESSAGE_CONSUMPTION_ERROR("C0122","消息消费出错"),
    MESSAGE_SUBSCRIPTION_ERROR("C0123","消息订阅出错"),
    MESSAGE_GROUP_NOT_FOUND("C0124","消息分组未查到"),

    DATABASE_ERROR("C0300","数据库服务出错"),
    DATABASE_TABLE_NOT_EXIST("C0311","表不存在"),
    DATABASE_COLUMN_NOT_EXIST("C0312","列不存在"),
    DATABASE_DUPLICATE_COLUMN_NAME("C0321","多表关联中存在多个相同名称的列"),
    DATABASE_DEADLOCK("C0331","数据库死锁"),
    DATABASE_PRIMARY_KEY_CONFLICT("C0341","主键冲突") ,

    SMS_SEND_ERROR("M0001","短信发送错误"),
    SMS_CODE_NO_EXPIRED("M0002","验证码未过期")
    ;


    ResultCode(String code,String msg){
        this.code = code ;
        this.msg = msg ;
    }

    public String getCode() {
        return code;
    }


    public String getMsg() {
        return msg;
    }

    private String code;

    private String msg;
}
